|
|
| Menüeintrag |
|---|
| Keiner |
| Arbeitsbereich |
| Reinforcement |
| Standardtastenkürzel |
| Keiner |
| Eingeführt in Version |
| 0.19 |
| Siehe auch |
| Keiner |
Das Werkzeug Reinforcement Zuschnittliste ermöglicht es dem Benutzer, die Schnittliste für die Bewehrungsstäbe zu erstellen.
Dieses Werkzeug ist Teil des Arbeitsbereichs Reinforcement; dieser ist ein externer Arbeitsbereich, der mit dem Addon-Manager installiert werden kann.
Bewehrungsstahlform-Schnittliste der Bewehrungsstäbe
1. Wähle die Bewehrung und Bewehrung2-Objekte, die Zuschnittliste aufgenommen werden sollen. Oder wähle
Struktur-Objekte zum Aufnehmen der
Bewehrungs-Objekte, die von diesen in der Zuschnittliste verwaltet werden. Wenn nichts ausgewählt ist, wird die Zuschnittliste für alle
Bewehrung- und Bewehrung2-Objekte, die in der Zeichnung enthalten sind, erstellt.
2. Wähle dann die Schaltfläche Rebar Zuschnittliste aus den Bewehrungs-Werkzeugen.
3. Eine Dialog-Box wird sich öffnen, wie unten gezeigt.
4. Passe die Daten nach den Anforderungen an.
5. Die Schaltfläche OK oder Anwenden drücken, um eine Schnittliste für Bewehrungsstahl erzeugen.
6. Die Schaltfläche Abbrechen drücken, um die Dialog-Box zu verlassen.
Allgemein:
Abmessungsdaten:
Siehe auch: Arch API,Reinforcement-API und Grundlagen der Skripterstellung in FreeCAD.
Das Werkzeug Reinforcement Zuschnittliste kann in Makros und von der Python-Konsole aus mit folgender Funktion verwendet werden:
getRebarShapeSVG(
rebar,
view_direction: Union[FreeCAD.Vector, WorkingPlane.Plane] = FreeCAD.Vector(0, 0, 0),
include_mark: bool = True,
stirrup_extended_edge_offset: float = 2,
rebar_stroke_width: float = 0.35,
rebar_color_style: str = "shape color",
include_dimensions: bool = True,
rebar_dimension_units: str = "mm",
rebar_length_dimension_precision: int = 0,
include_units_in_dimension_label: bool = False,
bent_angle_dimension_exclude_list: Tuple[float, ...] = (45, 90, 180),
dimension_font_family: str = "DejaVu Sans",
dimension_font_size: float = 2,
helical_rebar_dimension_label_format: str = "%L,r=%R,pitch=%P",
scale: float = 1,
max_height: float = 0,
max_width: float = 0,
side_padding: float = 1,
horizontal_shape: bool = False,
) -> ElementTree.Element
rebar-Objekt zurück.rebar Das Objekt kann vom Typ <ArchRebar._Rebar> oder <rebar2.BaseRebar> sein, um seine Form als SVG zu generieren.view_direction Legt die Blickrichtung für die Bewehrungsform fest. Sie kann vom Typ FreeCAD.Vector oder WorkingPlane.Plane sein, wobei WorkingPlane.Plane bevorzugt wird.include_mark Legt fest, ob rebar.Mark in die SVG-Datei der Bewehrungsform aufgenommen werden soll oder nicht.stirrup_extended_edge_offset ist der Versatz der verlängerten Endkanten des Bügels, sodass sich die Endkanten des Bügels mit einem Biegewinkel von 90 Grad nicht mit den Bügelkanten überlappen.rebar_stroke_width Gibt die Strichstärke von Bewehrungsstahl in SVG an.rebar_color_style Legt den Farbstil der Bewehrung fest. Es kann sich um „shape color“ (Formfarbe) oder „color_name oder hex_value_of_color“ (Farbname oder Hexadezimalwert der Farbe) handeln. „shape color“ bedeutet, dass die Farbe der Bewehrungsform ausgewählt wird.include_dimensions Gibt an, ob die Abmessungen jeder Bewehrungsstahlkante und die Abmessungen des Biegewinkels in die SVG-Datei der Bewehrungsstahlform aufgenommen werden sollen.rebar_dimension_units legt die Einheiten fest, die für die Abmessungen der Bewehrungsstahlänge verwendet werden sollen.rebar_length_dimension_precision Legt die Anzahl der Dezimalstellen fest, die für die Länge der Bewehrungsstäbe als Maßangabe angezeigt werden sollen. Diesen Wert auf „None“ (Keine) setzen, um die vom Benutzer bevorzugte Genauigkeit der Maßeinheit aus den FreeCAD-Einstellungen zu verwenden.include_units_in_dimension_label Legt fest, ob die Längeneinheiten der Bewehrungsstäbe in der Bemaßungsbeschriftung angezeigt werden sollen.bent_angle_dimension_exclude_list gibt die Liste der Biegewinkel an, deren Abmessungen nicht berücksichtigt werden sollen.dimension_font_family Legt die Schriftartfamilie für Maßangaben fest.dimension_font_size Legt die Schriftgröße des Maßtextes fest.helical_rebar_dimension_label_format Legt das Format der Maßangaben für spiralförmige Bewehrungsstäbe fest. Beispiel: „%L,r=%R,pitch=%P“, wobei:%L -> Länge des spiralförmigen Bewehrungsstabs %R -> Radius der Spirale des spiralförmigen Bewehrungsstabs %P -> Steigung der Spirale des spiralförmigen Bewehrungsstabs
scale Legt den Skalierungswert für die Skalierung von Bewehrungsstahl-SVG fest. Der Skalierungsparameter hilft dabei, rebar_stroke_width und dimension_font_size zu verkleinern, um sie auflösungsunabhängig zu machen. Wenn max_height oder max_width auf einen Wert ungleich Null gesetzt ist, wird der Skalierungsparameter ignoriert.max_height Legt die maximale Höhe der Bewehrungsform SVG fest. Den Wert auf 0 setzen, damit die Höhe der Bewehrungsform SVG auf dem Skalierungsparameter basiert.max_width Legt die maximale Breite der SVG-Bewehrungsform fest. Den Wert auf 0 setzen, damit die Breite der SVG-Bewehrungsform auf dem Skalierungsparameter basiert.side_padding legt die Ausfüllung auf jeder Seite der Bewehrungsform fest.horizontal_shape Legt fest, ob die Bewehrungsform durch Drehen der Kante mit der maximalen Länge der Bewehrungsform horizontal ausgerichtet werden soll.
from pathlib import Path
from xml.dom import minidom
from xml.etree import ElementTree
import Draft, Arch, Stirrup
from RebarShapeCutList import RebarShapeCutListfunc
Rect = Draft.makeRectangle(400, 400)
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()
Rebar = Stirrup.makeStirrup(
20, 20, 20, 20, 20, 90, 4, 8, 2, True, 10, Structure, "Face6"
)
rebar_shape_svg = RebarShapeCutListfunc.getRebarShapeSVG(
Rebar,
view_direction=FreeCAD.Vector(0, 0, 0),
include_mark=True,
stirrup_extended_edge_offset=2,
rebar_stroke_width=0.35,
rebar_color_style="shape color",
include_dimensions=True,
rebar_dimension_units="mm",
rebar_length_dimension_precision=0,
include_units_in_dimension_label=True,
bent_angle_dimension_exclude_list=(45, 90, 180),
dimension_font_family="DejaVu Sans",
dimension_font_size=2,
helical_rebar_dimension_label_format="%L,r=%R,pitch=%P",
scale=1,
max_height=100,
max_width=100,
side_padding=1,
horizontal_shape=False,
)
output_file = str(Path.home() / "StirrupRebarShape.svg")
with open(output_file, "w", encoding="utf-8") as f:
f.write(
minidom.parseString(
ElementTree.tostring(rebar_shape_svg, encoding="unicode")
).toprettyxml(indent=" ")
)
getRebarShapeCutList(
base_rebars_list: Optional[List] = None,
view_directions: Union[
Union[FreeCAD.Vector, WorkingPlane.Plane],
List[Union[FreeCAD.Vector, WorkingPlane.Plane]],
] = FreeCAD.Vector(0, 0, 0),
include_mark: bool = True,
stirrup_extended_edge_offset: float = 2,
rebars_stroke_width: float = 0.35,
rebars_color_style: str = "shape color",
include_dimensions: bool = True,
rebar_edge_dimension_units: str = "mm",
rebar_edge_dimension_precision: int = 0,
include_units_in_dimension_label: bool = False,
bent_angle_dimension_exclude_list: Union[Tuple[float, ...], List[float]] = (
45,
90,
180,
),
dimension_font_family: str = "DejaVu Sans",
dimension_font_size: float = 2,
helical_rebar_dimension_label_format: str = "%L,r=%R,pitch=%P",
row_height: float = 40,
column_width: float = 60,
column_count: Union[int, Literal["row_count"]] = "row_count",
side_padding: float = 1,
horizontal_rebar_shape: bool = True,
output_file: Optional[str] = None,
) -> ElementTree.Element
base_rebars_list.base_rebars_list ist eine Liste von <ArchRebar._Rebar>- oder <rebar2.BaseRebar>-Objekten, um deren RebarShape-Schnittliste zu generieren. Wenn keine Liste angegeben wird, werden alle ArchRebars- und rebar2.BaseRebar-Objekte mit eindeutiger Markierung aus ActiveDocument ausgewählt, und Rebars ohne zugewiesene Markierung werden ignoriert.view_directions ist eine Liste mit Blickrichtungen für jede Bewehrungsform. Sie kann entweder vom Typ FreeCAD.Vector oder WorkingPlane.Plane ODER deren Liste sein. FreeCAD.Vector(0, 0, 0) beibehalten, um view_directions automatisch auszuwählen.include_mark legt fest, ob rebar.Mark für jede Bewehrungsform in der SVG-Schnittliste für Bewehrungsformen enthalten sein soll oder nicht.stirrup_extended_edge_offset gibt den Versatz der verlängerten Endkanten des Bügels an, sodass sich die Endkanten des Bügels mit einem Biegewinkel von 90 Grad nicht mit den Bügelkanten überlappen.rebars_stroke_width legt die Strichstärke der Bewehrungsstäbe in der SVG-Datei mit der Schnittliste für die Bewehrungsform fest.rebars_color_style Legt den Farbstil der Bewehrungsstäbe fest. Es kann sich um „shape color“ (Formfarbe) oder „color_name oder hex_value_of_color“ (Farbname oder Hexadezimalwert der Farbe) handeln. „shape color“ (Formfarbe) bedeutet, dass die Farbe der Bewehrungsstabform ausgewählt wird.include_dimensions gibt an, ob die Abmessungen jeder Bewehrungsstahlkante und die Abmessungen des Biegewinkels in die Schnittliste für die Bewehrungsstahlform aufgenommen werden sollen.rebar_edge_dimension_units legt die Einheiten fest, die für die Abmessungen der Bewehrungskantenlänge verwendet werden sollen.rebar_edge_dimension_precision legt die Anzahl der Dezimalstellen fest, die für die Länge der Bewehrungsstäbe als Maßangabe angezeigt werden sollen. Diesen Wert auf „None“ (Keine) setzen, um die vom Benutzer bevorzugte Genauigkeit der Maßeinheit aus den FreeCAD-Einstellungen zu verwenden.include_units_in_dimension_label legt fest, ob die Einheiten der Randlänge von Bewehrungsstäben in der Bemaßungsbeschriftung angezeigt werden sollen.bent_angle_dimension_exclude_list gibt die Liste der Biegewinkel an, deren Abmessungen nicht berücksichtigt werden sollen.dimension_font_family legt die Schriftartfamilie für Maßangaben fest.dimension_font_size legt die Schriftgröße des Maßtextes fest.helical_rebar_dimension_label_format legt das Format der Maßangaben für spiralförmige Bewehrungsstäbe fest. Beispiel: „%L,r=%R,pitch=%P“, wobei:%L -> Länge des spiralförmigen Bewehrungsstabs %R -> Radius der Spirale des spiralförmigen Bewehrungsstabs %P -> Steigung der Spirale des spiralförmigen Bewehrungsstabs
row_height gibt die Höhe jeder Reihe der Bewehrungsform in der Bewehrungsform-Schnittliste an.column_width gibt die Breite jeder Reihe der Bewehrungsform in der Bewehrungsform-Schnittliste an.column_count gibt die Anzahl der Spalten in der Schnittliste für Bewehrungsstahlformen an. Diesen Wert auf „row_count“ setzen, damit column_count <= row_count gilt.side_padding gibt die Ausfüllung auf jeder Seite der Bewehrungsform in der Bewehrungsform-Schnittliste an.horizontal_rebar_shape legt fest, ob die Bewehrungsform durch Drehen der Kante mit der maximalen Länge der Bewehrungsform horizontal ausgerichtet werden soll.output_file gibt die Ausgabedatei an, in die die generierte SVG-Datei mit der Schnittliste für die Bewehrungsform geschrieben werden soll.
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import SingleTie
from RebarShapeCutList import RebarShapeCutListfunc
Rect1 = Draft.makeRectangle(400, 400)
Structure1 = Arch.makeStructure(Rect1, height=1600)
Structure1.ViewObject.Transparency = 80
Rect2 = Draft.makeRectangle(500, 500)
Structure2 = Arch.makeStructure(Rect2, height=1600)
Structure2.ViewObject.Transparency = 80
Structure2.Placement = FreeCAD.Placement(FreeCAD.Vector(1000, 0, 0), FreeCAD.Rotation(FreeCAD.Vector(0, 0, 1), 0))
FreeCAD.ActiveDocument.recompute()
# Create Straight Rebars
rebar_group = SingleTie.makeSingleTieFourRebars(
l_cover_of_tie=40,
r_cover_of_tie=40,
t_cover_of_tie=40,
b_cover_of_tie=40,
offset_of_tie=100,
bent_angle=135,
extension_factor=8,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_rebars=16,
t_offset_of_rebars=40,
b_offset_of_rebars=40,
rebar_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
structure=Structure1,
facename="Face6",
).rebar_group
# Assign Mark to straight rebars
for straight_rebar in rebar_group.RebarGroups[1].MainRebars:
straight_rebar.Mark = "main_sb"
# Create LShaped Rebars with hook along x-axis
rebar_group = SingleTie.makeSingleTieFourRebars(
l_cover_of_tie=40,
r_cover_of_tie=40,
t_cover_of_tie=40,
b_cover_of_tie=40,
offset_of_tie=100,
bent_angle=90,
extension_factor=8,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_rebars=16,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
rebar_type="LShapeRebar",
hook_orientation="Top Outside",
hook_extend_along="x-axis",
l_rebar_rounding=2,
hook_extension=100,
structure=Structure2,
facename="Face6",
).rebar_group
# Assign Mark to lshape rebars
for lshape_rebar in rebar_group.RebarGroups[1].MainRebars:
lshape_rebar.Mark = "main_lb"
output_file = str(Path.home() / "RebarShapeCutList.svg")
# Create Rebar Shape Cut List for all base rebars in model
RebarShapeCutListfunc.getRebarShapeCutList(
base_rebars_list=None,
view_directions=FreeCAD.Vector(0, 0, 0),
include_mark=True,
stirrup_extended_edge_offset=2,
rebars_stroke_width=0.35,
rebars_color_style="shape color",
include_dimensions=True,
rebar_edge_dimension_units="mm",
rebar_edge_dimension_precision=0,
include_units_in_dimension_label=False,
bent_angle_dimension_exclude_list=(45, 90, 180),
dimension_font_family="DejaVu Sans",
dimension_font_size=2,
helical_rebar_dimension_label_format="%L,r=%R,pitch=%P",
row_height=40,
column_width=60,
column_count="row_count",
side_padding=1,
horizontal_rebar_shape=True,
output_file=output_file,
)